package file;

import java.io.File;
import java.io.IOException;

public class fileDemo {
    /*
    java.io.File;
    该类得到每一个实例用于表示一个文件或目录，但实际上表示的是一个抽象路径。
    File可以：
    1、访问其表示的目标文件或目录的属性信息（名字，大小，权限等）
    2、创建或删除文件或目录
    3、访问一个目录中的子项信息
    Ps:File不能访问文件数据
     */
    public static void main(String[] args) throws IOException {
         /*
         File f = new File("./demo.text");//绝对路径不利于跨平台
        相对路径：相对某个位置开始，有利于跨平台
        常用： ./ :表达的是当前项目所在的位置

        String name = f.getName();//获取文件名字
        System.out.println(name);
        Long len=f.length();//获取file表示的文件目录的长度或大小
        System.out.println(len);
        boolean yc=f.isHidden();//文件是否位隐藏的
        boolean cr=f.canRead();//文件是否可读
        boolean cw=f.canWrite();//文件是否可写
        //f.setReadOnly();设置文件只读
        File file = new File("./test.txt");
        if(file.exists()){//判断文件是否存在
            System.out.println("文件存在");
        }else {
            file.createNewFile();
            System.out.println("文件已创建");
        }
        //若路径表示的是目录，则要求目录下不能再有其他文件或目录，若有则不能直接删除，只能删除空目录
        //file.delete();//删除文件

        for(int i=1;i<11;i++){
            File file=new File("./test"+i+".text");
            if(!file.exists()){
                file.createNewFile();
                System.out.println("文件"+i+"已创建完毕");
            }else {
                System.out.println("文件已存在");
                break;
            }
        }
         */
        /*
        新建目录
         */
        File dir = new File("./demo");
        if(dir.exists()){
            System.out.println("该目录已存在");
        }else {
            //该方法要求所创建的目录必须存在，不存在则不报错也不会创建
            dir.mkdir();
            //dir.mkdirs();该方法若父目录不存在则会将父目录一同创建出来
        }
        //JRE虚拟机停止运行以后才进行删除
        dir.deleteOnExit();
    }
}
